// ==========================================================================
// GFast自动生成api操作代码。
// 生成日期：2024-11-11 20:33:48
// 生成路径: api/v1/system/addresses.go
// 生成人：王中阳
// desc:收货地址相关参数
// company:云南奇讯科技有限公司
// ==========================================================================

package system

import (
	"github.com/gogf/gf/v2/frame/g"
	"github.com/gogf/gf/v2/net/ghttp"
	commonApi "github.com/tiger1103/gfast/v3/api/v1/common"
	"github.com/tiger1103/gfast/v3/internal/app/system/model"
)

// AddressesSearchReq 分页请求参数
type AddressesSearchReq struct {
	g.Meta `path:"/list" tags:"收货地址" method:"get" summary:"收货地址列表"`
	commonApi.Author
	model.AddressesSearchReq
}

// AddressesSearchRes 列表返回结果
type AddressesSearchRes struct {
	g.Meta `mime:"application/json"`
	*model.AddressesSearchRes
}

// AddressesExportReq 导出请求
type AddressesExportReq struct {
	g.Meta `path:"/export" tags:"收货地址" method:"get" summary:"收货地址导出"`
	commonApi.Author
	model.AddressesSearchReq
}

// AddressesExportRes 导出响应
type AddressesExportRes struct {
	commonApi.EmptyRes
}
type AddressesExcelTemplateReq struct {
	g.Meta `path:"/excelTemplate" tags:"收货地址" method:"get" summary:"导出模板文件"`
	commonApi.Author
}
type AddressesExcelTemplateRes struct {
	commonApi.EmptyRes
}
type AddressesImportReq struct {
	g.Meta `path:"/import" tags:"收货地址" method:"post" summary:"收货地址导入"`
	commonApi.Author
	File *ghttp.UploadFile `p:"file" type:"file" dc:"选择上传文件"  v:"required#上传文件必须"`
}
type AddressesImportRes struct {
	commonApi.EmptyRes
}

// 相关连表查询数据
type LinkedAddressesDataSearchReq struct {
	g.Meta `path:"/linkedData" tags:"收货地址" method:"get" summary:"收货地址关联表数据"`
	commonApi.Author
}

// 相关连表查询数据
type LinkedAddressesDataSearchRes struct {
	g.Meta `mime:"application/json"`
	*model.LinkedAddressesDataSearchRes
}

// AddressesAddReq 添加操作请求参数
type AddressesAddReq struct {
	g.Meta `path:"/add" tags:"收货地址" method:"post" summary:"收货地址添加"`
	commonApi.Author
	*model.AddressesAddReq
}

// AddressesAddRes 添加操作返回结果
type AddressesAddRes struct {
	commonApi.EmptyRes
}

// AddressesEditReq 修改操作请求参数
type AddressesEditReq struct {
	g.Meta `path:"/edit" tags:"收货地址" method:"put" summary:"收货地址修改"`
	commonApi.Author
	*model.AddressesEditReq
}

// AddressesEditRes 修改操作返回结果
type AddressesEditRes struct {
	commonApi.EmptyRes
}

// AddressesGetReq 获取一条数据请求
type AddressesGetReq struct {
	g.Meta `path:"/get" tags:"收货地址" method:"get" summary:"获取收货地址信息"`
	commonApi.Author
	Id int `p:"id" v:"required#主键必须"` //通过主键获取
}

// AddressesGetRes 获取一条数据结果
type AddressesGetRes struct {
	g.Meta `mime:"application/json"`
	*model.AddressesInfoRes
}

// AddressesDeleteReq 删除数据请求
type AddressesDeleteReq struct {
	g.Meta `path:"/delete" tags:"收货地址" method:"delete" summary:"删除收货地址"`
	commonApi.Author
	Ids []int `p:"ids" v:"required#主键必须"` //通过主键删除
}

// AddressesDeleteRes 删除数据返回
type AddressesDeleteRes struct {
	commonApi.EmptyRes
}
